package com.sxit.tdf.server.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author 橙子高
 * @since 2022-03-19
 */
@TableName("tb_file_approve")
@Tag(name = "FileApprove对象", description = "")
public class FileApprove implements Serializable {

  private static final long serialVersionUID = 1L;

  @Schema(description = "审批ID")
  @TableId(value = "id", type = IdType.ASSIGN_UUID)
  private String id;

  @Schema(description = "0 取消 1 审批中 2 审批通过 3 审批未通过")
  private Integer fileState;

  @Schema(description = "文件ID")
  private String fileId;

  @Schema(description = "审批人")
  private String fileApprover;

  @Schema(description = "审批未通过的原因")
  private String fileCause;

  @Schema(description = "提交的册数")
  private Integer fileTimes;

  @Schema(description = "创建时间")
  private LocalDateTime createTime;

  @Schema(description = "最后更新时间")
  private LocalDateTime updateTime;

  @Schema(description = "审批通过时间")
  private LocalDateTime finalTime;

  @Schema(description = "文件负责审批的人")
  private String fileOwner;

  public String getFileOwner() {
    return fileOwner;
  }

  public void setFileOwner(String fileOwner) {
    this.fileOwner = fileOwner;
  }

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public Integer getFileState() {
    return fileState;
  }

  public void setFileState(Integer fileState) {
    this.fileState = fileState;
  }

  public String getFileId() {
    return fileId;
  }

  public void setFileId(String fileId) {
    this.fileId = fileId;
  }

  public String getFileApprover() {
    return fileApprover;
  }

  public void setFileApprover(String fileApprover) {
    this.fileApprover = fileApprover;
  }

  public String getFileCause() {
    return fileCause;
  }

  public void setFileCause(String fileCause) {
    this.fileCause = fileCause;
  }

  public Integer getFileTimes() {
    return fileTimes;
  }

  public void setFileTimes(Integer fileTimes) {
    this.fileTimes = fileTimes;
  }

  public LocalDateTime getCreateTime() {
    return createTime;
  }

  public void setCreateTime(LocalDateTime createTime) {
    this.createTime = createTime;
  }

  public LocalDateTime getUpdateTime() {
    return updateTime;
  }

  public void setUpdateTime(LocalDateTime updateTime) {
    this.updateTime = updateTime;
  }

  public LocalDateTime getFinalTime() {
    return finalTime;
  }

  public void setFinalTime(LocalDateTime finalTime) {
    this.finalTime = finalTime;
  }

  @Override
  public String toString() {
    return "FileApprove{"
        + "id="
        + id
        + ", fileState="
        + fileState
        + ", fileId="
        + fileId
        + ", fileApprover="
        + fileApprover
        + ", fileCause="
        + fileCause
        + ", fileTimes="
        + fileTimes
        + ", createTime="
        + createTime
        + ", updateTime="
        + updateTime
        + ", finalTime="
        + finalTime
        + "}";
  }
}
